package com.qdxwx.data.service.course;

import com.qdxwx.common.page.PageRequest;
import com.qdxwx.data.mapper.course.CourseAlbumItemMapper;
import com.qdxwx.models.course.CourseAlbumItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 课程专集关联接口实现
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
@Service
public class CourseAlbumItemServiceImpl implements CourseAlbumItemService {

	@Autowired
	private CourseAlbumItemMapper courseAlbumItemMapper;

	@Override
	public void deleteById(int id) {
		if (id > 0) {
			courseAlbumItemMapper.deleteCourseAlbumItemById(id);
		}
	}

	@Override
	public void deleteByCourseId(int courseId) {
		if (courseId > 0) {
			courseAlbumItemMapper.deleteCourseAlbumItemByCourseId(courseId);
		}
	}

	@Override
	public void deleteByAlbumId(int albumId) {
		if (albumId > 0) {
			courseAlbumItemMapper.deleteCourseAlbumItemByAlbumId(albumId);
		}
	}

	@Override
	public void updateSort(int id, int sort) {
		Map<String, Integer> map = new HashMap<>();
		map.put("id", id);
		map.put("sort", sort);
		courseAlbumItemMapper.updateSort(map);
	}

	@Override
	public List<CourseAlbumItem> getList(int albumId) {
		CourseAlbumItem query = new CourseAlbumItem();
		query.setAlbumId(albumId);
		return getList(query);
	}

	@Override
	public List<CourseAlbumItem> getList(CourseAlbumItem query) {
		return getList(query, null);
	}

	@Override
	public List<CourseAlbumItem> getList(CourseAlbumItem query, PageRequest page) {
		return courseAlbumItemMapper.selectCourseAlbumItemList(query, page);
	}

	@Override
	public int count(CourseAlbumItem query) {
		return courseAlbumItemMapper.countCourseAlbumItem(query);
	}

	@Override
	public int insert(CourseAlbumItem details) {
		return courseAlbumItemMapper.createCourseAlbumItem(details);
	}
}